/*
 * Arbol.java
 *
 * Created on 5 de mayo de 2007, 09:40 PM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package adsi.branchbound3;
import java.util.*;
/**
 *
 * @author Aramis
 */
public class Arbol {
    
    Nodo raiz;
    int profundidad;
    Vector centinelas=new Vector();
    /** Creates a new instance of Arbol */
    public Arbol() {
        raiz=null;
        profundidad=0;
    }
    public Arbol(Nodo r)
    {
        raiz=r;
        profundidad=0;
        Centinela c = new Centinela(raiz,profundidad);
        centinelas.add(c);
    }
    public void aumentaProfundidad(Nodo n)
    {
        profundidad++;
        Centinela c = new Centinela(n,profundidad);
        centinelas.add(c);
    }
    
    public void agregaNivel()
    {
        profundidad++;
        Centinela c = new Centinela(profundidad);
        centinelas.add(c);
    }
    public void eliminaNivel()
    {
        int i;
       if (profundidad!=0)
        {
            centinelas.remove(profundidad);
            profundidad--;
        }
        
    }
    
    public Vector arregloInsercion()
    {
        Vector ins=new Vector();
        if (((Centinela) centinelas.get(profundidad)).nodo.padre !=null)
            ins=((Centinela) centinelas.get(profundidad)).nodo.padre.apuntadores;
        else
            ins.add(raiz);
        return ins;
    }
    
    public void insertaPrimerNivel(Nodo n)
    {
        raiz.apuntadores.add(n);
    }
    
}
